home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / intrvews / xgrab.lha / xgrab / include / scrdep.h < prev    next >
C/C++ Source or Header  |  1990-03-06  |  991b  |  31 lines

  1. /**
  2.    GRAB Graph Layout and Browser System
  3.  
  4.    Copyright (c) 1986, 1988 Regents of the University of California
  5.    Copyright (c) 1989, Tera Computer Company
  6.  **/
  7.  
  8.   /* macros to convert absolute coordinates to screen coordinates and back */
  9.  
  10. #ifndef scrdep_h
  11. #define scrdep_h
  12.  
  13. #include "screen.h"
  14.  
  15. #define ABSX_TO_SCRX(scr, ax)        \
  16.         (((ax - (scr)->absview.min_x) / (scr)->zoom.xzoom) + (scr)->canvas.min_x - (scr)->display.min_x)
  17.  
  18. #define ABSY_TO_SCRY(scr, ay)        \
  19.         (((ay - (scr)->absview.min_y) / (scr)->zoom.yzoom) + (scr)->canvas.min_y - (scr)->display.min_y)
  20.  
  21. #define SCRX_TO_ABSX(scr, sx)        \
  22.         (((sx + (scr)->display.min_x - (scr)->canvas.min_x) * (scr)->zoom.xzoom) + (scr)->absview.min_x)
  23.  
  24. #define SCRY_TO_ABSY(scr, sy)        \
  25.         (((sy + (scr)->display.min_y - (scr)->canvas.min_y) * (scr)->zoom.yzoom) + (scr)->absview.min_y)
  26.  
  27. #define SCALE_X(scr, ax)    ((float) ax / (scr)->zoom.xzoom)
  28. #define SCALE_Y(scr, ay)    ((float) ay / (scr)->zoom.yzoom)
  29.  
  30. #endif
  31.